Systems and methods for automating installation of prefabricated parts using projected installation graphics

ABSTRACT

A system and method for automating installation of prefabricated parts at a construction site includes retrieving an installation plan for a room in which a plurality of parts are installed. The method also includes determining an orientation of the room based on one or more images captured for the room and scanning a first visual indicator on a first part from the plurality of parts, the visual indicator indicating a first order position in the installation order. The method includes determining a first installation location in the room based on the first order position and the installation plan. The method also includes displaying an installation graphic at the first installation location in the room, the installation graphic illustrating a spatial position and an alignment for the first part.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.16/714,360, filed on Dec. 13, 2019, which claims the benefit of U.S.Provisional Patent Application No. 62/797,100, filed Jan. 25, 2019,which is hereby incorporated by reference in its entirety.

FIELD

The present disclosure relates generally to methods and system forassisting in positioning of components at a construction site.

BACKGROUND

Presently, at a construction site, a user positions a structural orbuilding component by relying on a blueprint made in a designdepartment, or by decision made on the fly at the construction site. Foreach component to be positioned, the user references the blueprint andthen positions the component.

This conventional positioning method requires a substantial amount oftime, not only for preparing the blueprints, but especially for usingthem on the site. Further, this method also requires that the user haveexperience in using blueprints. Further, under the particularlydifficult conditions of a building site, the reading of the blueprintsand the taking of measurements often carried out by hand are sources oferrors on the exact positioning of the components.

SUMMARY

In some implementations, a method for automating installation ofprefabricated parts at a construction site includes retrieving aninstallation plan for a room in which a plurality of parts areinstalled. The installation plan includes an installation location foreach of the plurality of parts and an installation order of theplurality of parts. Each of the plurality of parts may include a visualindicator indicating an order position in the installation order. Themethod may also include determining an orientation of the room based onone or more images captured for the room. Additionally, the methodincludes scanning a first part from the plurality of parts to determinea first order position in the installation order. In some embodiments,scanning the first part comprises scanning a first visual indicator onthe first part from the plurality of parts, the visual indicatorindicating a first order position in the installation order. The methodfurther includes determining whether the first order position matches acurrent order position in the installation order. The method includes,in response to the first order position, matching the current orderposition, determining a first installation location in the room based onthe first order position and the installation plan. The method alsoincludes displaying an installation graphic, the installation graphicillustrating a spatial position and an alignment for the first part. Insome embodiments, the installation graphic may be displayed at the firstinstallation location in the room, such as by projection. In someembodiments, the installation graphic may be displayed at the firstinstallation location in the room by augmented reality (AR), virtualreality (VR), or another virtual depiction of the room.

Additionally, in some implementations, a system for automatinginstallation of prefabricated parts at a construction site includes oneor more display systems and one or more cameras. The system alsoincludes a processing unit coupled to the one or more display systemsand the one or more cameras, the processing unit executing instructionsfor performing a method including retrieving an installation plan for aroom in which a plurality of parts are installed. The installation planincludes an installation location for each of the plurality of parts andan installation order of the plurality of parts. Each of the pluralityof parts may include a visual indicator indicating an order position inthe installation order. The method also includes determining anorientation of the room based on one or more images captured by the oneor more cameras for the room. Additionally, the method includesscanning, using the one or more cameras, a first part from the pluralityof parts to determine a first order position in the installation order.In some embodiments, scanning the first part comprises scanning a firstvisual indicator on the first part from the plurality of parts, thevisual indicator indicating the first order position in the installationorder. The method further includes determining whether the first orderposition matches a current order position in the installation order. Themethod includes, in response to the first order position matching thecurrent order position, determining a first installation location in theroom based on the first order position and the installation plan. Themethod also includes displaying an installation graphic at the firstinstallation location in the room, the installation graphic illustratinga spatial position and an alignment for the first part.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure will become better understood from the detaileddescription and the drawings, wherein:

FIGS. 1A-1D illustrate a block diagram of an example of an example of aconstruction site including an installation assistance system 101,according to various implementations.

FIG. 2 illustrates an example of a method for providing automatedassistance in installing parts at a construction site, according tovarious implementations.

FIGS. 3A, 3B, and 4A-4J illustrate another example of a method forproviding automated assistance in installing parts at a constructionsite, according to various implementations.

FIG. 5A-5D illustrate examples of several views of different types ofprefab part that can be installed at a construction site, according tovarious implementations.

FIGS. 6A-6C illustrate an example of a prefab panel, according tovarious implementations.

FIGS. 7A-7C illustrate an example of a method for installing a prefabpanel, according to various implementations.

FIG. 8 illustrates an example of a computer system, according to variousimplementations.

DETAILED DESCRIPTION

For simplicity and illustrative purposes, the principles of the presentteachings are described by referring mainly to examples of variousimplementations thereof. However, one of ordinary skill in the art wouldreadily recognize that the same principles are equally applicable to,and can be implemented in, all types of information and systems, andthat any such variations do not depart from the true spirit and scope ofthe present teachings. Moreover, in the following detailed description,references are made to the accompanying figures, which illustratespecific examples of various implementations. Logical and structuralchanges can be made to the examples of the various implementationswithout departing from the spirit and scope of the present teachings.The following detailed description is, therefore, not to be taken in alimiting sense and the scope of the present teachings is defined by theappended claims and their equivalents.

In addition, it should be understood that steps of the examples of themethods set forth in the present disclosure can be performed indifferent orders than the order presented in the present disclosure.Furthermore, some steps of the examples of the methods can be performedin parallel rather than being performed sequentially. Also, the steps ofthe examples of the methods can be performed in a network environment inwhich some steps are performed by different computers in the networkedenvironment.

Some implementations are implemented by a computer system. A computersystem can include a processor, a memory, and a non-transitorycomputer-readable medium. The memory and non-transitory medium can storeinstructions for performing methods and steps described herein.

FIGS. 1A-1D are block diagrams illustrating an example of a constructionsite 100 in which an installation assistance system 101 can be used invarious implementations. While FIGS. 1A-1D illustrate various componentscontained in the construction site 100, FIGS. 1A-1D illustrate oneexample of a construction site and additional components can be addedand existing components can be removed.

The installation assistance system 101 includes a computer system 102and one or more machine vision devices 104. The computer system 102 canbe configured to communicate with the machine vision devices 104 toprovide assistance in the installation of a queue 106 of one or moreprefabricated parts (“prefab parts”) 108. To assist in automatedinstallation process, the prefab parts may include a visual indicator110. The visual indicator 110 includes information about each of theprefab parts 108. For example, the visual indicator 110 can include theorder position, in the installation order, for each of the prefab parts108.

In implementations, the machine vision devices 104 include hardware andsoftware that, in coordination with the computer system 102, identifyinstallation locations for the queue 106 of the prefab parts 108 andprovide visual assistance in installing the prefab parts 108. Machinevision devices 104 may comprise, for example, cameras. As illustrated inFIG. 1B, the computer system 102 operates in coordination with machinevision devices 104 to generate and display installation graphics 112.The installation graphics 112 operate as an installation guide for auser to install a prefab part 108. In implementations, the installationgraphics 112 are visual representations of the prefab part 108 thatallows a user to align the actual prefab part at the installationlocation to ensure proper installation of the prefab part 108.

In implementations, the computer vision aspect of the machine visiondevices 104 may be separate from the display aspect of the machinevision devices 104. Two sets of devices may be provided, a first set forrecording information about the scene and a second set for displayinginformation to guide installation. The recording devices may comprisecameras for scanning prefab parts. The cameras may be communicativelycoupled to computer system 102 including computer vision software forscanning the prefab parts. The display devices may display informationto allow users to align the prefab parts at the installation location toensure proper installation of the prefab parts. Display devices mayinclude projectors for displaying information in the room itself, ARsystems such as headsets for providing an augmented reality display ofinformation as if it was in the construction site 100, VR systems suchas headsets for displaying information in a virtual environment, orcomputer displays of a virtual environment showing information aboutwhere to install the prefab parts. Recording devices may be separatefrom display devices and may be in entirely different locations.Reference to machine vision systems 104 herein should be understood torefer to either the recording aspect, display aspect, or both.

The computer system 102 may be connected over a network to remotecomputer systems. The computer system 102 may transmit informationobserved about the construction site 100, prefab parts 108, andinstallation locations to the remote computer systems. Remote computersystems may process or store the information. In some implementations,the remote computer systems may perform computer vision processing toidentify the parts and determine their correct locations of installationand generate processed data that is transmitted back to the computersystem 102 for display to a user via display devices such as machinevision devices 104.

In implementations, the installation assistance system 101 may be underthe control or subject to interaction by users at the construction site.In implementations, the installation system 101 may be controlled orinteracted with by gestures from a user. The gestures of a user may berecorded and interpreted by machine vision devices 104 using computervision gesture control algorithms. In some embodiments, control of theinstallation assistance system 101 may be performed by detecting userinteraction with a projected surface that is displayed by a projector.In some embodiments, control of the installation assistance system 101may be performed through commands issued through computer system 102such as by keyboard, mouse, or touchpad. In some embodiments, control ofthe installation assistance system 101 may be performed by detectingaudio or voice commands from a user. The aforementioned control methodsmay be used to direct the installation assistance system 101 to movefrom one stage to another, turn on or off, or perform other commands.

In implementations, the queue 106 of the prefab parts 108 can bearranged in an installation order according to a predefined installationplan. The installation plan includes a three dimensional schematic ofthe construction site 100 and the location of any prefab parts 108installed in the construction site 100. For example, the installationplan can be a computer-aided design (“CAD”) model that provides a designoutline for the construction site 100. The installation plan alsoincludes an installation order for the prefab parts 108. Theinstallation order can include a list of the prefab parts 108 to beinstalled and the order in which the prefab parts should be installed.According to the installation order, the prefab parts 108 can bearranged in the queue 106 according to the installation order. That is,the prefab parts 108 can be arranged in the queue 106 in a sequentialorder according to an order position of each of the prefab parts 108 sothat the prefab parts 108 are removed from the queue 106 beginning withthe first prefab part 108 to be installed.

Prior to the installation of the prefab parts 108, the installation plancan be generated by a user (architect, engineer, etc.) with theassistance of a computer system. For example, the installationassistance system 101 can be utilized to map the construction site 100in order to design and select the installation locations for the prefabparts 108. Likewise, for example, other types of surveying systems canbe used to design and select the installation locations, such as a LIDARsystem.

To assist in the automated installation process, the installationassistance system 101 determines the orientation of the constructionsite 100 in order to properly guide the installation of the queue 106 ofprefab parts 108. The orientation of the construction site 100 includesthe location and dimensions of the structures in the construction site100, e.g., structural components, walls, doors. The orientation of theconstruction site 100 also includes the location of the machine visiondevices 104 and the queue 106 of prefab parts 108.

In implementations, the computer system 102 instructs the machine visiondevices 104 to scan the construction site 100. For example, the computersystem 102 can be configured to instruct the machine vision devices 104to project one or more predefined patterns around the construction site100 and to capture one or more images and/or video of the projectedpatterns. The predefined patterns can include different referencepatterns that can be analyzed to calculate and identify the dimensionsand location in the construction site 100, such as a vertical linepattern, a horizontal line pattern, a grid pattern, and the like. Themachine vision devices 104 can be configured to transmit the capturedimages and/or video to the computer system 102 for processing todetermine the orientation of the construction site 100.

In implementations, the computer system 102 can be configured to performimage analysis algorithms and spatial analysis algorithms on thecaptured images and/or video to determine the orientation of theconstruction site 100. For example, when the predefined patterns areprojected around the construction site 100, the shape and thepositioning of the predefined pattern depend shape and dimensions of thestructures in the construction site 100 and the relative position of themachine vision devices 104 to the structures. The computer system 102can be configured to analyze the captured images and/or video, based onthe known attributes of the predefined pattern that was projected, todetermine the location of the machine vision devices 104. For example,the computer system 102 can store reference images of the predefinedpattern projected at different distances. Based on the reference images,the computer system 102 can analyze the size and alteration of thepredefined patterns in the captured images and/or videos that are causedby the projection of the predefined pattern in the construction site100. From the analysis, the computer system 102 can calculate theorientation and position of the machine vision devices 104. Once theorientation and position of the machine vision devices 104 arecalculated (e.g., the reference frame of the machine vision devices isdetermined), the computer system 102 can analyze the reference patternin the predefined pattern in order to determine dimensions of theconstruction site.

Once the orientation of the construction site is determined, thecomputer system 102 can be configured to retrieve the installation planand to map the location of the machine vision devices 104 to theinstallation plan. Based on this, as the prefab parts 108 are selectedfor installation, the computer system 102 can be configured to generatethe installation graphics 112 that visually represent the prefab part108 according to the installation location and the location of themachine vision devices. The, the computer system 102 can be configuredto provide the installation graphics 112 to the machine vision device104 and to instruct the machine vision devices 104 to display theinstallation graphics 112. The display of installation graphics 112 maybe via projector, AR, VR, or display in a virtual space on a computer.

When projection is used, in addition to generating the installationgraphics 112 that represent the prefab part 108, the computer system 102can be configured to determine and to select which of the one or moremachine vision devices 104 to display installation graphics 112. Forexample, the computer system 102 can be configured to determine and toselect one or more of the machine vision device 104 in order to providea quality projection of the installation graphics 112 and to avoidinterference with a user installing the prefab part 108. For instance,the computer system 102, in cooperation with the machine vision devices104, can be configured to determine a location of the user installingthe prefab part 108 and to select one or more of the machine visiondevices 104 that avoid interference with the user.

As illustrated in FIG. 1C, the installation graphics 112 include one ormore visual reference lines 113 that provide a reference for aligningthe prefab parts 108. For example, the visual reference lines 113 caninclude one or more lines that mirror the outline of the prefab part 108and one or more reference lines that can provide reference for ensuringcorrect alignment of the prefab part 108. The installation graphics 112can also include visual text 114 to provide information on theinstallation procedure, provide instructions on the installationprocedure, and provide information on the prefab part 108 to beinstalled. For example, the visual text 114 can include text such as theaction to be taken by the user, e.g., install, and information on theprefab part 108, e.g., order number in the queue 106 and prefab parttype. The installation graphics 112 can also include one or moreconnector visualization 115. For example, the connector visualization115 can provide a reference to identify the location and placement ofconnectors such as screws, bolts, nails, hanging rails, adhesive, etc.

To identify which prefab part 108 has been selected for installation,each of the prefab parts 108 may include the visual indicator 110. Asillustrated in FIG. 1D, the visual indicator 110 includes amachine-readable label 116 that encodes information on the prefab part108, such as the order position in the installation order, the type ofthe prefab part 108, etc. In some implementations, the machine-readablelabel 116 can include a barcode, a quick response (“QR”) code, a radiofrequency identifier (“RFID”), etc. The installation assistance system101 can utilize the machine vision device 104 to read themachine-readable label 116. The visual indicator 110 can also includetext label 118 and 120 that provide a human-readable version of theinformation encoded in the machine-readable label 116.

In implementations, the prefab parts 108 can be any type of buildingpart or material that is installed at the construction site 100. Forexample, the prefab parts 108 can include structural components (e.g.,stubs, joists, rafters, doors and door frames, windows and windowframes, etc.), facades (e.g., wall panels or coverings, flooring,ceiling panels or coverings, etc.), mechanical and electrical systems(e.g., plumbing pipes and fixtures, electrical wiring and fixtures, HVACconduit and fixtures, etc.)

In some implementations, the computer system 102 and the machine visiondevices 104 can be connected with a wired connection, e.g., physicalcable. In some implementations, the computer system 102 and the machinevision devices 104 can be connected with a wireless connection, e.g.,Bluetooth. Additionally, the computer system 102 can electronicallycommunicate with the machine vision devices 104 and other computersystem via one or more networks. The one or more networks can includelocal area networks (LANs), wide area networks (WANs), telephonenetworks, such as the Public Switched Telephone Network (PSTN), anintranet, the Internet, or a combinations thereof. It should beunderstood that where the terms server or computer system are used, thisincludes the use of networked arrangements of multiple devices operatingas a server or computer system. For example, distributed or parallelcomputing can be used.

The computer system 102 can be any type of computer system capable ofcommunicating with and interacting with the machine vision devices 104and performing the process and methods described herein. As describedherein, the computer system 102 can include any of a personal computer(PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant(PDA), a cellular telephone, a web appliance, a server, a networkrouter, a switch or bridge, or any machine capable of executing a set ofinstructions (sequential or otherwise).

In implementations, one or more of the components of the computer system102 and the machine vision devices 104 can be implemented as softwareprograms or modules that perform the methods, process, and protocolsdescribed herein. The software programs or modules can be written in avariety of programming languages, such as JAVA, C++, Python code, VisualBasic, hypertext markup language (HTML), extensible markup language(XML), and the like to accommodate a variety of operating systems,computing system architectures, etc.

In implementations, the computer system 102 is connected to remotecomputer systems via wired connection or wireless connection. The remotecomputer systems can include any of a personal computer (PC), a tabletPC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellulartelephone, a web appliance, a server, a network router, a switch orbridge, or any machine capable of executing a set of instructions(sequential or otherwise). The remote computer systems may performprocessing associated with any of the methods herein.

FIG. 2 illustrates an example of a method 200 for providing automatedassistance in installing parts at a construction site, according tovarious implementations. While FIG. 2 illustrates various stages thatcan be performed, stages can be removed and additional stages can beadded. Likewise, the order of the illustrated stages can be performed inany order.

In 202, an installation plan is retrieved for a room in which aplurality of parts are installed. In some implementations, theinstallation plan includes an installation location for each of theplurality of parts and an installation order of the plurality of parts.For example, referring to FIG. 1A, the computer system 102 can beinstructed to retrieve the installation plan for the construction site100. In some implementations, the computer system 102 can locally storethe installation plan. In some implementations, the computer system 102can retrieve the installation plan from remote storage via a network.

In 204, an orientation of the room is determined based on one or moreimages captured for the room. In some implementations, the one or moreimages can be still images. In some implementations, the one or moreimages can be video images. For example, referring to FIG. 1A, thecomputer system 102 can instruct the machine vision devices 104 toproject one or more predefined patterns around the construction site 100and to capture one or more images for the room. The machine visiondevices 104 can transmit the one or more images captured for the room tothe computer system 102 for processing to determine the orientation ofthe construction site 100. One received, the computer system 102 canperform image analysis algorithms and spatial analysis algorithms on theone or more images captured for the room to determine the orientation ofthe room.

In some implementations, the computer system 102 can analyze the one ormore images captured for the room, based on the known attributes of thepredefined pattern that was projected, to determine the location of themachine vision devices 104. For example, the computer system 102 canstore reference images of the predefined pattern projected at differentdistances. Based on the reference images, the computer system 102 cananalyze the size and alteration of the predefined patterns in the one ormore images captured for the room that are caused by the projection ofthe predefined pattern in the construction site 100. From the analysis,the computer system 102 can calculate the orientation and position ofthe machine vision devices 104. Once the orientation and position of themachine vision devices 104 are calculated (e.g., the reference frame ofthe machine vision devices is determined), the computer system 102 cananalyze reference patterns in the predefined pattern in order todetermine dimensions of the room.

In 206, a part from the plurality of parts is scanned. In someimplementations, the entire part or a portion of the part is scannedsuch as by a camera, and the part is recognized based on objectrecognition. Object recognition may be performed by a machine learningalgorithm by comparison of the image of the part to a stored database ofparts or by use of a machine learning classifier. Once the part isidentified, an order position may be retrieved based on the order ofinstallation of the part in the installation plan. In someimplementations, scanning a part is performed by scanning a visualindicator on the part. The visual indicator indicates an order positionin the installation order. In some implementations, the visual indicatorcan include a machine-readable label. In some implementations, thevisual indicator can include a human-readable label. For example,referring to FIG. 1A, the installation assistance system 101 can utilizethe machine vision device 104 to read the machine-readable label 116 ofthe visual indicator 110. In some embodiments, parts are continuouslyscanned without needing user input to trigger the scanning. In someembodiments, parts are automatically scanned when they are removed fromqueue 106. In some embodiments, parts are automatically scanned while inthe queue 106.

In 208, it is determined whether the order position matches a currentorder position in an installation order. In some implementations, theorder position read from the visual indicator can be compared to thecurrent order position from installation plan. For example, referring toFIG. 1A, as the prefab parts 108 are installed, the computer system 102can record and track the prefab parts that have been installed and thecurrent position in the installation order. In some implementations, ifthe order position does not match the current order position, the usercan be instructed to select the correct prefab part that matches currentorder position. For example, referring to FIG. 1A, the computer system102, in cooperation with machine vision device 104, can provide a visualwarning and/or audio to the user that the selected prefab part does notmatch the installation order and provide a notice to select a new prefabpart, which can include an identification of the prefab part to select.

In some implementation, if the order position does not match the currentorder position, the user can proceed with the installation, and thecomputer system 102, in cooperation with machine vision device 104, canprovide missing graphics to visual represent the location of one or moreof the missing prefab parts 108, in addition to the installationgraphics for the prefab part 108 selected.

In 210, an installation location in the room is determined based on theorder position and the installation plan. In some implementations, theinstallation assistance system determines the installation position fromthe installation plan based on the prefab parts order position. In someimplementation, based on the location, the installation assistancesystem generates installation graphics that accurately represent theprefab part being installed. For example, once the orientation of theconstruction site is determined, the computer system 102 can retrievethe installation plan and to map the location of the machine visiondevices 104 to the installation plan. Based on this, as the prefab parts108 are selected for installation, the computer system 102 can generatethe installation graphics 112 that visually represent the prefab part108 according to the installation location and the location of themachine vision devices. The, the computer system 102 can provide theinstallation graphics 112 to the machine vision device 104 and instructthe machine vision devices 104 to display the installation graphics 112.In implementations, if the part selected is incorrect based on theinstallation plan, the installation assistance system may automaticallyadjust the installation process to allow for installation to continue.The system may adjust to deal with missing parts or parts that are outof order. The system modify the installation plan to skip over themissing part. In software, it may move the missing part to a missingpart queue to be installed later. The system may assign the currentorder position in the installation plan to the currently selected partso that the user may continue with installation of the part withoutdisrupting the installation of other parts.

In 212, an installation graphic is displayed at an installation locationin the room. In some implementations, the installation assistance systemdisplays the installation graphics at the installation location usingthe one or more machine vision devices. For example, as illustrated inFIG. 1B, the computer system 102 operates in coordination with machinevision devices 104 display installation graphics 112. The installationgraphics 112 operate as an installation guide for a user to install aprefab part 108. The installation graphics 112 are visualrepresentations of the prefab part 108 that allows a user to align theactual prefab part at the installation location to ensure properinstallation of the prefab part 108.

For example, as illustrated in FIG. 1C, the installation graphics 112include one or more visual reference lines 113 that provide a referencefor aligning the prefab parts 108. For example, the visual referencelines 113 can include one or more lines that mirror the outline of theprefab part 108 and one or more reference lines that can providereference for ensuring correct alignment of the prefab part 108. Theinstallation graphics 112 can also include visual text 114 to provideinformation on the installation procedure, provide instructions on theinstallation procedure, and provide information on the prefab part 108to be installed. For example, the visual text 114 can include text suchas the action to be taken by the user, e.g., install, and information onthe prefab part 108, e.g., order number in the queue 106 and prefab parttype. The installation graphics 112 can also include one or moreconnector visualization 115. For example, the connector visualization115 can provide a reference to identify the location and placement ofconnectors such as screws, bolts, nails, hanging rails, adhesive, etc.

In some implementations, the installation assistance system can selectthe machine vision device that provides an optimal projection of theinstallation graphics. For example, the computer system 102 candetermine and select which of the one or more machine vision devices 104to display installation graphics 112. For instance, the computer system102 can determine and select one or more of the machine vision device104 in order to provide a quality projection of the installationgraphics 112 and to avoid interference with a user installing the prefabpart 108. The computer system 102, in cooperation with the machinevision devices 104, can determine a location of the user installing theprefab part 108 and select one or more of the machine vision devices 104that avoid interference with the user. In other embodiments, machinevision devices 104 display the installation graphics 112 using AR, VR,or a virtual display of the construction site on a computer system.

In 214, the installation process can be tracked and analyzed. In someimplementations, when the installation begins, the installationassistance system can record images and/or video of the installationprocess. In some implementations, the installation assistance system canalso record other data associated with the installation process, e.g.,the order in which the prefab part were installed, which machine visiondevices projected the installation graphics, any alteration required tothe prefab parts. In some implementations, the installation assistancesystem can also scan the room after all parts have been installed todetermine if parts are missing, if the prefab parts were installedcorrectly, etc.

For example, once the installation process begins, the computer system102 can instruct the one or more machine vision devices 104 to recordimages and/or video of the installation process. The computer system 102can coordinate the recording by switching recording between the machinevision devices 104 based which of the machine vision devices aredisplaying installation graphics and the location of the user. Thecomputer system 102 can locally or remotely store the recorded video.Additionally, the computer system 102 can record other informationrelevant to the installation process. For example, if a user selects anincorrect part, the computer system 102 can record an identification ofthe incorrect part selected and identification of parts that wereskipped or missing.

Additionally, the computer system 102 can record whether the usercorrectly installed the prefab parts 108. For example, after a userinstalls a prefab part, the computer system 102, in coordination withthe machine vision devices 104, can scan the installed part, compare theinstallation to the location stored in the installation plan, and recordthe result.

The computer system 102 can utilize the tracking of the installationprocess in order to improve the installation assistance system 101. Forexample, the computer system 102 can track the amount of time itrequires a user to install individual prefab parts 108 or the overallinstallation time and compare the amount of time to a predicted amountof time. The computer system 102 can then provide feedback to the useron ways to improve the installation process. Likewise, the computersystem 102 can analyze the amount of time required for the installationprocess to determine if a more optimal installation ordering can beused.

Likewise, for example, the computer system 102 can analyze video of theuser installing an individual prefab part 108 and compare the video to avideo of a template installation process. Based on the analysis, thecomputer system 102 can provide feedback to the user on how to improveinstallation of an individual prefab part 108.

Additionally, for example, the computer system 102 can analyze the otherinformation recorded such as missing parts, incorrect order selection,etc. For example, the computer system 102 can identify that a prefabpart 108 was placed in the queue 106 out of order and provide feedbackto the system or user that create the queue. Additionally, for example,the computer system 102 can analyze the image and/or video of theprojected installation graphics to determine if the generation of theinstallation graphics can be improved.

FIGS. 3A and 3B illustrate an example of a method 300 for providingautomated assistance in installing parts at a construction site,according to various implementations. While FIGS. 3A and 3B illustratesvarious stages that can be performed, stages can be removed andadditional stages can be added. Likewise, the order of the illustratedstages can be performed in any order.

In 302, a prefab room installation plan is retrieved and tracking aninstallation begins. In some implementations, the installation planincludes an installation location for each of the plurality of parts andan installation order of the plurality of parts. In someimplementations, when the installation begins, the installationassistance system can record images and/or video of the installationprocess. In some implementations, the installation assistance system canalso record other data associated with the installation process, e.g.,the order in which the prefab part were installed, which machine visiondevices projected the installation graphics, any alteration required tothe prefab parts.

In 304, a room is scanned and an orientation of the room is determined.In some implementations, one or more predefined patterns are projectedin the room and one or more images of the room are captured by themachine vision devices. In some implementations, the one or more imagescan be still images. In some implementations, the one or more images canbe video images.

For example, FIGS. 4A-4J illustrate the automated assistance provide byan installation assistance system, including a computer system 402 andmachine vision devices 404 and 405, when installing a queue 406 ofprefab panels 408, which include visual indicators 410. As illustratedin FIG. 4A and FIG. 4B, the machine vision device 404 and the machinevision device 405 can scan a room 400. The machine vision device 404 canscan wall 412, and the machine vision device 405 can scan wall 414. Toscan the room 400 and determine orientation, the machine vision device404 can project a pattern 413 on the wall 412. While projecting thepattern 413 on the wall 412, the machine vision device 404 can captureimages and/or a video of the pattern 413 on the wall 412. Likewise, themachine vision device 405 can project a pattern 415 on the wall 414.While projecting the pattern 415 on the wall 414, the machine visiondevice 405 can capture images and/or a video of the pattern 415 on thewall 414. Then, the machine vision device 404 and the machine visiondevice 405 can transmit the images and/or videos to the computer system402 to determine the orientation of the room.

The computer system 402 can analyze the one or more images captured forthe room, based on the known attributes of the predefined pattern thatwas projected, to determine the location of the machine vision devices404 and 405. For example, the computer system 402 can store referenceimages of the pattern 415 projected at different distances. Based on thereference images, the computer system 402 can analyze the size andalteration of the pattern 415 in the one or more images captured for theroom that are caused by the projection of the pattern 415 in the room400. From the analysis, the computer system 402 can calculate theorientation and position of the machine vision devices 404 and 405. Oncethe orientation and position of the machine vision devices 404 and 405are calculated (e.g., the reference frame of the machine vision devicesis determined), the computer system 402 can analyze reference patternsin the predefined pattern in order to determine dimensions of the room.

In 306, a prefab part is scanned. In some implementations, this may beperformed by scanning the part itself and performing object detection.An order position in an installation order may be determined based ondetermination of the part. In some implementations, this may beperformed by scanning a prefab part identification. In someimplementations, the prefab part identification can include a visualindicator. In some implementations, the visual indicator indicates anorder position in the installation order. In some implementations, thevisual indicator can include a machine-readable label. In someimplementations, the visual indicator can include a human-readablelabel. In some embodiments, the installation assistance system canutilize the machine vision devices to scan the prefab partidentification.

For example, as illustrated in FIG. 4C, the machine vision device 405can scan the room 400 to locate and read the visual indicator 410affixed to the prefab panel at the top of the queue 406. Likewise, asillustrated in FIG. 4D, a user 416 can position a prefab panel 408 nearthe machine vision device 405 in order to scan and read the visualindicator 410.

In 308, it is determined whether the order is correct. In someimplementation, the order position read from the visual indicator can becompared to the current order position from the installation plan. In310, if the order is not correct, it is determined whether to proceedwith installation of the prefab part. For example, the installationassistance system can determine if the missing part is required to beinstalled prior to installation the prefab part that was selected. In312, a warning and request to select a new prefab part is displayed andthe method 300 returns to 306. In some implementations, if the orderposition does not match the current order position, the user can beinstructed to select the correct prefab part that matches current orderposition, For example, the computer system 402, in cooperation withmachine vision devices 404 and 405, can provide a visual warning and/oraudio to the user that the selected prefab part does not match theinstallation order and provide a notice to select a new prefab part,which can include an identification of the prefab part to select. Insome implementations, the system may determine to proceed even when theorder position does not match the current order position. The system mayadjust the installation plan to skip over missing parts and allowinstallation to continue with the currently selected prefab part. Themissing part may be moved to a later part of the installation plan.

If the order is correct or it is determined to proceed, in 314, it isdetermined whether alteration to the prefab part is required. Ifalteration is required, the method 300 proceeds to 350 (illustrated inFIG. 3B and described below.) For example, based on the installationlocation, the prefab part may require alteration to fit in theinstallation location. For example, when the computer system 402determines the installation location, the computer system 402 candetermine that the prefab part will overlap another prefab part orstructural component in the room 400. Likewise, the computer system 402can determine that the prefab part will not correctly fill in theinstallation space size. The alteration required can occur due to anynumber of factors such as manufacturing tolerances, errors in theinstallation plan, predetermined alteration, etc.

If alteration is not required, in 316, missing graphics can optionallybe displayed at the location matching a missing prefab partidentification. In some implementations, if the installation proceedswith an out of order prefab part, the installation assistance system candisplay missing graphics in order to assist with the installation of theout of order part and ensure that the missing prefab part can beinstalled later.

For example, as illustrated in FIG. 4G, the user 416 can select a prefabpanel 420 that is not the current prefab panel in the installationorder, as determined from the visual indicator 422. In response, inaddition to displaying the installation graphic, the installationassistance system (the computer system 402 and the machine visiondevices 404 and 405) can display missing graphics 419 at an installationlocation where the missing prefab panel would be installed. The missinggraphics can include an indication that the graphic represents themissing prefab panel and details of the missing prefab panel, e.g.,order number in the installation order, prefab panel type, etc. Themissing graphics can be utilized by the user 416 to ensure that theprefab panel is aligned correctly and the missing prefab panel can beinstalled later correctly.

In 318, installation graphics are generated and displayed at thelocation matching the prefab part identification. In someimplementations, the installation assistance system determines theinstallation position from the installation plan based on the prefabparts order position. In some implementations, based on the location,the installation assistance system generates installation graphics thataccurately represent the prefab part being installed. For example, oncethe orientation of the construction site is determined, the computersystem 402 can be retrieve the installation plan and to map the locationof the machine vision devices 404 and 405 to the installation plan.Based on this, as the prefab parts 408 are selected for installation,the computer system 402 can generate the installation graphics 418 thatvisually represent the prefab panel 408 according to the installationlocation and the location of the machine vision devices 404 and 405.The, the computer system 402 can provide the installation graphics 418to the machine vision devices 404 and 405, and instruct the machinevision devices 404 and 405 to display the installation graphics 418.

For example, as illustrated in FIG. 4E, the machine vision device 404can project installation graphics 418 at an installation locationmatching a location in the installation plan. The installation graphiccan include a visual representation of the prefab panel being installed.The installation graphic can also include details of the prefab panelbeing installed, e.g., order number in the installation order, prefabpanel type, etc.

In some implementations, the installation assistance system (thecomputer system 402 and the machine vision devices 404 and 405) candetermine which machine device to utilize to project the installationgraphics. For example, the installation assistance system can determinewhich of the machine vision devices to utilize that does not interferewith the user installing the prefab panel. As illustrated in FIG. 4E,the installation assistance system can determine that the user 416 isstanding closer to the machine vision device 405 and can potentiallyblock the projection from the machine vision device 405. In response,the computer system 402 can determine and select to project theinstallation graphics 418 from the machine vision device 404. Asillustrated in FIG. 4F, the installation assistance system can determinethat the user 416 is standing closer to the machine vision device 404and can potentially block the projection from the machine vision device404. In response, the computer system 402 can determine and select toproject the installation graphics from the machine vision device 405.Additionally, as the user installs the prefab panel, the installationassistance system can switch between the machine vision devices as theuser moves around the room to avoid interference. In otherimplementations, installation graphics 418 may be displayed in AR, VR,or in a virtual environment displayed on a computer,

In 320, it is determined if the placement of the prefab part is correct.If the placement is not correct, in 322 the display of the installationgraphic is continued and method 300 return to 320. For example, asillustrated in FIG. 4H, the installation graphics 418 are continuallydisplayed until the prefab panel 408 is properly aligned. Theinstallation graphics 418 can include text that assists the user ininstalling the prefab panel 408, such as text “install” 424 and text“continue alignment” 426. To determine if the alignment is correct, themachine vision devices 404 and 405 can continually scan the room 400 todetermine whether the prefab panel 408 is properly aligned.

If the placement is correct, in 324, a graphic of correct placement isdisplayed. In some embodiments, the graphic of correct placement can beany type of visual indication that the placement is correct. Forexample, as illustrated in FIG. 4I, the installation graphics 418 can bechanged to indicate that the prefab panel 408 is properly aligned. Theinstallation graphics 418 can include text that indicates alignment,such as text “aligned” 426. To determine if the alignment is correct,the machine vision devices 404 and 405 can continually scan the room 400to determine whether the prefab panel 408 is properly aligned.

Additionally, other visualization can be utilized to indicate thatalignment is correct. For example, during the alignment, theinstallation graphic can be displayed in one color, e.g., red. Once thealignment is correct, the installation graphic can change color, e.g.,green, to indicate proper alignment. Other indication can be utilized toindicate proper alignment such as sound notifications.

In 326, a graphic of connector locations can be optionally displayed.For example, as illustrated in FIG. 4I, once the prefab panel 408 isproperly aligned, the installation graphics 418 can be changed toinclude visual guides for the location of connectors, e.g., screws,nails, etc.

In 328, it is determined whether the installation of the prefab part iscomplete. If the installation is not complete, the method 300 return to328. In the installation is complete, in 322, it is determined whethermore prefab parts remain to be installed. If more prefab parts remain,the method 300 returns to 306. If no prefab parts remain, in 334, it isdetermined whether additional parts are needed. If no additional partsare needed, method 300 can end or return to any stage. If additionalparts are needed, the method 300 proceeds to 354.

As illustrated in FIG. 3B, in 350, it is determined whether an existingprefab part is altered. For example, the computer system 402 (or theuser 402) can determine to alter one of the prefab panels 408 from thequeue 406. If an existing prefab part is altered, in 352, the prefabpart may optionally be delivered to a factory for alteration. In otherembodiments, the alteration may be performed at the construction site.

If an existing prefab part is not used in the alteration, in 354, a newprefab part is selected that matches the part type of the prefab part tobe altered. For example, the installation assistance system can transmitthe part type of the prefab part to the factor that requires alteration.

In 356, the location of the prefab part requiring alteration is scanned.For example, the computer system 402, in coordination with the machinevision devices 404 and 405, can scan the installation location. Forexample, similar to the orientation determination, the computer system402 can instruct the machine vision devices 404 and 405 to project apredefined pattern at the installation location and capture one or moreimages of the installation location. In some embodiment, other types ofsystem can be used to scan the installation location, such as LIDAR.

In 358, dimensions of the alteration of the prefab part are calculated.In some embodiment, the installation assistance system can analyze thecaptured images of the installation location to determine the dimensionsof the alteration. For example, referring to FIG. 4G, the prefab panel420 may partially overlap a window location and require alteration toexpose the window. Based on the projection of a patter at theinstallation location, the computer system 402 can perform imageanalysis on the captured images of the predefined pattern to calculatethe alteration to the prefab panel 420.

In 360, the specification of the alteration are transmitted to the toolsperforming the alteration, which may be located at a factory or on-site.In some embodiments, the installation assistance system can generate aspecification in a format readable by the tools of the factory oron-site location.

In 362, it is determined whether material is removed or added. Ifmaterial is added, in 364, an addition is printed to match dimension ofthe alteration. If material is removed, in 366, the prefab part is cutto match in the dimensions of the alteration. In 368, finishing canoptionally be performed. In 370, if the prefab part was altered at afactory, then the altered prefab part is delivered to the constructionsite. The method 300 then proceeds to 316. A complete description of thealteration process can be found in U.S. application Ser. No. 16/714,395entitled “Systems and Methods for Automating the Manufacture ofCustomized Prefabricated Parts Using Electromagnetic Image Surveying” toHuh and filed on Dec. 13, 2019, the entire contents of which areincorporated herein by reference.

As discussed above, the installation assistance system can be utilizedto install different types of prefab parts. FIG. 5A-5D illustrateseveral views of different types of prefab part that can be installed ata construction site 500 according to various implementations. Asillustrated in FIG. 5A, the construction site 500 can be include prefabwall panel 502, prefab ceiling panels 504, and prefab floor panels 506.As illustrated in FIG. 5A-5D, the prefab wall panel 502, prefab ceilingpanels 504, and prefab floor panels 506 can be manufactured as modularunits that are installed using the installation assistance system andmethods 200 and 300 described above. In the method 200 and 300 describedabove, the installation plan can include several three dimensional modelof the construction site 500 similar to the views illustrated in FIG.5A-5D.

FIGS. 6A-6C illustrate an example of a prefab panel 600, which can beinstalled using the method described above, according to variousimplementations. FIG. 6A illustrates a rear view of the prefab panel600. The prefab panel 600 includes a wall panel portion 602 and a basepanel portion 604. The wall panel portion 602 can be connected to thebase panel portion by a connecting strip 606. To install the prefabpanel 600, the prefab panel 600 includes hangers 608. The hangers 608are configured to engage with one or more rails installed on structuralelements at a construction site. The prefab panel can be constructed ofany type of construction material, e.g., wood, gypsum board, plater,paper, metal, plastics, and combination thereof.

FIG. 6B illustrates a rear view of the base panel portion 604, and FIG.6C illustrates a front view of the base panel portion 604. In additionto the hangers 608, the base panel portion 604 includes one or morepremanufactured construction elements. For example, the base panelportion 604 can include an electrical knockout 610 and a plumbingknockout 612. The electrical knockout 610 is positioned at a location ofelectrical fixtures or components, such as an electrical outlets, switchoutlets, wiring boxes, conduit, etc. The plumbing knockout 612 ispositioned at a location of plumbing fixtures or components, such as apipe location, faucet, drain, etc. One skilled in the art will alsorealize that the wall panel portion 602 can also include premanufacturedconstruction elements.

FIGS. 7A-7C illustrate an example of a method for installing a prefabpanel 700, for example, prefab panel 600 described above. As illustratedin FIGS. 7A and 7B, the prefab panel 700 include one or more hangers 702that are positioned to engage with one or more rails 704. The rails 504include a lip that engages with the lip of the hangers 702. The rails704 are affixed to a structural member (e.g., a wall). As illustrated inFIG. 5C, the prefab panel 700 are hung by lifting the prefab panel 700to align the hangers 702 with the rails 704 and engaging the hangers 702with the rails 704. The prefab panel 700 can also include a supportmember 706. The support member 706 provides support between the prefabpanel 700 and the wall to prevent flex in the prefab panel 700. Inimplementation, the installation assistance system and methods describedabove can be utilized to assist in the installation of the rails 704 andthe installation of the prefab panel 700 on the rails 704.

An electrical and plumbing system can be installed at a constructionsite according to various implementations. The electrical system caninclude various prefab parts, such as electrical wiring conduits,junction boxes, and fixtures. Likewise, the plumbing system can includevarious prefab parts, such as piping and fixture connectors. The prefabparts can be constructed to allow for a minimum amount of installationby a user. For example, the electrical wiring conduits and junctionboxes can be preinstalled with wiring. In implementations, theinstallation assistance system can be utilized in the installation ofthe electrical and plumbing system using the method described above. Forexample, when installing the electrical system, the installationassistance system can determine and project the installation of thevarious prefab parts, such as electrical wiring conduits, junctionboxes, and fixtures.

FIG. 8 illustrates an example machine of a computer system within whicha set of instructions, for causing the machine to perform any one ormore of the methodologies discussed herein, can be executed. Inimplementations, the machine can be connected (e.g., networked) to othermachines in a LAN, an intranet, an extranet, and/or the Internet. Themachine can operate in the capacity of a server or a client machine inclient-server network environment, as a peer machine in a peer-to-peer(or distributed) network environment, or as a server or a client machinein a cloud computing infrastructure or environment.

The machine can be a personal computer (PC), a tablet PC, a set-top box(STB), a Personal Digital Assistant (PDA), a cellular telephone, a webappliance, a server, a network router, a switch or bridge, or anymachine capable of executing a set of instructions (sequential orotherwise) that specify actions to be taken by that machine. Further,while a single machine is illustrated, the term “machine” also includesany collection of machines that individually or jointly execute a set(or multiple sets) of instructions to perform any one or more of themethodologies discussed herein.

The computer system 800 includes a processing device 802, a main memory804 (e.g., read-only memory (ROM), flash memory, dynamic random accessmemory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM),etc.), a static memory 806 (e.g., flash memory, static random accessmemory (SRAM), etc.), and a data storage device 818, which communicatewith each other via a bus 830.

The processing device 802 represents one or more general-purposeprocessing devices such as a microprocessor, a central processing unit,or the like. For example, the processing device can be complexinstruction set computing (CISC) microprocessor, reduced instruction setcomputing (RISC) microprocessor, very long instruction word (VLIW)microprocessor, or processor implementing other instruction sets, orprocessors implementing a combination of instruction sets. Theprocessing device 802 can also be one or more special-purpose processingdevices such as an application specific integrated circuit (ASIC), afield programmable gate array (FPGA), a digital signal processor (DSP),network processor, or the like. The processing device 802 is configuredto execute instructions 826 for performing the operations and stepsdiscussed herein.

The computer system 800 further includes a network interface device 808to communicate over the network 820. The computer system 800 alsoincludes a video display unit 810 (e.g., a liquid crystal display (LCD)or a cathode ray tube (CRT)), an alphanumeric input device 812 (e.g., akeyboard), a cursor control device 815 (e.g., a mouse), a graphicsprocessing unit 822, a signal generation device 816 (e.g., a speaker),graphics processing unit 822, video processing unit 828, and audioprocessing unit 832.

The data storage device 818 can include a machine-readable storagemedium 824 (also known as a computer-readable medium) on which is storedone or more sets of instructions or software 826 embodying any one ormore of the methodologies or functions described herein. Theinstructions 826 can also reside, completely or at least partially,within the main memory 804 and/or within the processing device 802during execution thereof by the computer system 800, the main memory 804and the processing device 802 also constituting machine-readable storagemedia.

In implementations, the instructions 826 include instructions toimplement functionality corresponding to the components of a device toperform the disclosure herein. While the machine-readable storage medium824 is shown in an example implementation to be a single medium, theterm “machine-readable storage medium” includes a single medium ormultiple media (e.g., a centralized or distributed database, and/orassociated caches and servers) that store the one or more sets ofinstructions. The term “machine-readable storage medium” also includesany medium that is capable of storing or encoding a set of instructionsfor execution by the machine and that cause the machine to perform anyone or more of the methodologies of the present disclosure. The term“machine-readable storage medium” also includes, but not be limited to,solid-state memories, optical media, and magnetic media.

Some portions of the preceding detailed descriptions have been presentedin terms of algorithms and symbolic representations of operations ondata bits within a computer memory. These algorithmic descriptions andrepresentations are the ways used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of operations leading to adesired result. The operations are those requiring physicalmanipulations of physical quantities. Usually, though not necessarily,these quantities take the form of electrical or magnetic signals capableof being stored, combined, compared, and otherwise manipulated. It hasproven convenient at times, principally for reasons of common usage, torefer to these signals as bits, values, elements, symbols, characters,terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the above discussion, itis appreciated that throughout the description, discussions utilizingterms such as “identifying” or “calculating” or “determining” or“executing” or “performing” or “collecting” or “creating” or “sending”or the like, refer to the action and processes of a computer system, orsimilar electronic computing device, that manipulates and transformsdata represented as physical (electronic) quantities within the computersystem's registers and memories into other data similarly represented asphysical quantities within the computer system memories or registers orother such information storage devices. Furthermore, to the extent thatthe terms “including”, “includes”, “having”, “has”, “with”, or variantsthereof are used in the detailed description, such terms are intended tobe inclusive in a manner similar to the term “comprising.” As usedherein, the terms “one or more of” and “at least one of” with respect toa listing of items such as, for example, A and B, means A alone, Balone, or A and B. Further, unless specified otherwise, the term “set”should be interpreted as “one or more.” Also, the term “couple” or“couples” is intended to mean either an indirect or direct connection.Thus, if a first device couples to a second device, that connection canbe through a direct connection, or through an indirect connection viaother devices, components, and connections.

The present disclosure also relates to an apparatus for performing theoperations herein. This apparatus can be specially constructed for theintended purposes, or it may comprise a general purpose computerselectively activated or reconfigured by a computer program stored inthe computer. Such a computer program can be stored in a computerreadable storage medium, such as, but not limited to, any type of diskincluding floppy disks, optical disks, CD-ROMs, and magnetic-opticaldisks, read-only memories (ROMs), random access memories (RAMs),erasable programmable read-only memories (EPROMs), electrically erasableprogrammable read-only memories (EEPROMs), magnetic or optical cards,flash memory devices, or any type of media suitable for storingelectronic instructions, each coupled to a computer system bus. Examplesof implementations of the present disclosure can also be provided as acomputer program product, or software, that may include amachine-readable medium having stored thereon instructions, which can beused to program a computer system (or other electronic devices) toperform a process according to the present disclosure.

Various general purpose systems can be used with programs in accordancewith the teachings herein, or a more specialized apparatus can beutilized to perform the method. Examples of the structure for a varietyof systems appear in the description above. In addition, the presentdisclosure is not described with reference to any particular programminglanguage. It will be appreciated that a variety of programming languagesmay be used to implement the teachings of the disclosure as describedherein.

A number of implementations have been described. Nevertheless, it willbe understood that various modifications can be made without departingfrom the spirit and scope of the invention. In addition, the logic flowsdepicted in the figures do not require the particular order shown, orsequential order, to achieve desirable results. In addition, other stepscan be provided, or steps may be eliminated, from the described flows,and other components can be added to, or removed from, the describedsystems. Accordingly, other implantations are within the scope of thefollowing claims.

1. A method for automating installation of prefabricated parts at aconstruction site, the method comprising: retrieving an installationplan for a room in which a plurality of parts are to be installed, theinstallation plan comprising an installation location for each of theplurality of parts; determining an orientation of the room based on oneor more captured images depicting the room; scanning a visual indicatorof a first part; determining an installation location from theinstallation plan based on the scanned visual indicator; and displayingin the room, an installation graphic at the determined installationlocation, the installation graphic illustrating a spatial position andan alignment for the first part.
 2. The method of claim 1, wherein theinstallation graphic comprises an image corresponding to a size andshape of the first part.
 3. The method of claim 1, the method furthercomprising: updating, in real-time, the installation graphic with avisual indication of a correct spatial position and alignment of thefirst part.
 4. The method of claim 1, the method further comprising:determining an installer location corresponding to a spatial location ofan installer in the room; and selecting one or more projectors todisplay the installation graphic based on the installer location,wherein the one or more projectors are selected to avoid interference bythe installer in displaying the installation graphic.
 5. The method ofclaim 1, the method further comprising: determining that a first orderposition from the first visual indicator does not match a current orderposition in the installation plan; and providing notification that thefirst order position does not match the current order position.
 6. Themethod of claim 5, the method further comprising: determining secondpart that corresponds to the current order position in the installationplan; determining, for the second part, a second installation locationin the room based on the installation plan; and displaying a missingpart graphic at the second installation location in the room, themissing part graphic illustrating a spatial position and an alignmentfor the second part.
 7. The method of claim 6, wherein the missing partgraphic is displayed simultaneously with the installation graphic. 8.The method of claim 1, the method further comprising: determining thatthe first part requires alteration based on the orientation of the roomand a configuration of the first part; and determining specifications ofthe alteration based on the configuration of the first part and one ormore spatial positions and alignments of additional parts that arelocated adjacent to the installation location of the first part.
 9. Themethod of claim 8, wherein the alteration comprises one or more of anaddition of material to the first part and a removal of material fromthe first part.
 10. The method of claim 1, the method furthercomprising: after installation of the first part, scanning the visualindicator of the first part; and confirming that the first part iscorrectly installed based on visual indicator and the installation plan.11. A system for automating installation of prefabricated parts at aconstruction site, the system comprising: one or more projectors; one ormore cameras; and a processing unit coupled to the one or moreprojectors and the one or more cameras, the processing unit executinginstructions for performing a method comprising: retrieving aninstallation plan for a room in which a plurality of parts are to beinstalled, the installation plan comprising an installation location foreach of the plurality of parts; determining an orientation of the roombased on one or more captured images depicting the room; scanning avisual indicator of a first part; determining an installation locationfrom the installation plan based on the scanned visual indicator; anddisplaying in the room, an installation graphic at the determinedinstallation location, the installation graphic illustrating a spatialposition and an alignment for the first part.
 12. The system of claim11, wherein the installation graphic comprises an image corresponding toa size and shape of the first part.
 13. The system of claim 11, themethod further comprising: updating, in real-time using the one or moreprojectors, the installation graphic with a visual indication of acorrect spatial position and alignment of the first part.
 14. The systemof claim 11, the method further comprising: determining, using the oneor more cameras, an installer location corresponding to a spatiallocation of an installer in the room; and selecting at least one or theone or more projectors to display the installation graphic based on theinstaller location, wherein the one or more projectors are selected toavoid interference by the installer in displaying the installationgraphic.
 15. The system of claim 11, the method further comprising:determining that a first order position from the first visual indicatordoes not match ae current order position in the installation plan; andproviding notification that the first order position does not match thecurrent position.
 16. The system of claim 15, the method furthercomprising: determining a second part that corresponds to the currentorder position in the installation plan; determining, for the secondpart, a second installation location in the room based on theinstallation plan; and displaying a missing part graphic at the secondinstallation location in the room, the missing part graphic illustratinga spatial position and an alignment for the second part.
 17. The systemof claim 16, wherein the missing part graphic is displayedsimultaneously with the installation graphic.
 18. The system of claim11, the method further comprising: determining that the first partrequires alteration based on the orientation of the room and aconfiguration of the first part; and determining, using the one or morecameras, specifications of the alteration based on the configuration ofthe first part and one or more spatial positions and alignments ofadditional parts that are located adjacent to the first installationlocation of the first part.
 19. The system of claim 18, wherein thealteration comprises one or more of an addition of material to the firstpart and a removal of material from the first part.
 20. The system ofclaim 11, the method further comprising: after installation of the firstpart, scanning, using the one or more cameras, the first visualindicator of the first part; and confirming that the first part iscorrectly installed based on first visual indicator and the installationplan.